package com.tanhua.dubbo.api.db;

import com.tanhua.model.db.UserInfo;

import java.util.List;
import java.util.Map;

/**
 * 用户信息服务接口
 */
public interface UserInfoApi {
    /**
     * 用户注册：保存用户信息
     * @param userInfo
     */
    void add(UserInfo userInfo);

    /**
     * 更新用户信息
     * @param userInfo
     */
    void update(UserInfo userInfo);

    /**
     * 用户信息管理-查询用户资料
     * @param userId
     * @return
     */
    UserInfo getUserInfo(Long userId);

    /**
     * 根据黑名单用户ids查询黑名单用户集合数据
     * @param blackListIds
     * @return
     */
    List<UserInfo> findByBatchIds(List<Long> blackListIds);

    /**
     * 根据推荐用户的ids  gender age 查询userInfo
     * @param listUserIds
     * @param userInfoCondtion
     * @return
     */
    Map<Long, UserInfo> findByIds(List<Long> listUserIds, UserInfo userInfoCondtion);
    //返回当前用户的同性的和年龄差大于4岁的Ids
    List<Long> findSexAgeIds(Long userId);
}
